// pages/company/card-detail.js
const companyService = require('../../services/company.js')

Page({

  /**
   * 页面的初始数据
   */
  data: {
    cardId: null,
    cardInfo: null,
    recordList: [],
    loading: false,
    hasMore: true,
    currentPage: 1,
    pageSize: 10,
    searchValue: ''
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {
    if (options.cardId) {
      this.setData({
        cardId: options.cardId
      })
      this.loadCardInfo()
      this.loadRecordList(true)
    }
  },

  /**
   * 加载卡片信息
   */
  async loadCardInfo() {
    try {
      // 这里可以调用获取卡片详情的API
      // 暂时使用从列表页面传递的数据
      const cardInfo = wx.getStorageSync('currentCardInfo')
      if (cardInfo) {
        this.setData({
          cardInfo: cardInfo
        })
      }
    } catch (error) {
      console.error('加载卡片信息失败:', error)
      wx.showToast({
        title: '加载卡片信息失败',
        icon: 'none'
      })
    }
  },

  /**
   * 加载激活记录列表
   * @param {boolean} refresh 是否刷新
   */
  async loadRecordList(refresh = false) {
    if (this.data.loading) return

    try {
      this.setData({ loading: true })

      const page = refresh ? 1 : this.data.currentPage
      const params = {
        card_id: this.data.cardId,
        page: page,
        page_size: this.data.pageSize
      }

      // 添加搜索参数
      if (this.data.searchValue) {
        params.search_phone = this.data.searchValue
      }

      const result = await companyService.getCardUserList(params)
      
      if (result.success) {
        const newList = refresh ? result.data.list : [...this.data.recordList, ...result.data.list]
        const hasMore = result.data.current_page < result.data.last_page
        
        this.setData({
          recordList: newList,
          currentPage: result.data.current_page + 1,
          hasMore: hasMore,
          loading: false
        })

        if (refresh) {
          wx.stopPullDownRefresh()
          
        }
      } else {
        this.setData({ loading: false })
        wx.showToast({
          title: result.message || '加载失败',
          icon: 'none'
        })
      }
    } catch (error) {
      console.error('加载激活记录失败:', error)
      this.setData({ loading: false })
      wx.showToast({
        title: '加载失败',
        icon: 'none'
      })
    }
  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {
    this.loadRecordList(true)
  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {
    if (this.data.hasMore && !this.data.loading) {
      this.loadRecordList(false)
    }
  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {
    return {
      title: '卡片激活记录',
      path: `/pages/company/card-detail?cardId=${this.data.cardId}`
    }
  },

  onSearch(e) {
    this.setData({
      searchValue: e.detail
    })
    // 触发搜索
    this.searchRecords()
  },

  /**
   * 搜索记录
   */
  searchRecords() {
    // 重置分页
    this.setData({
      currentPage: 1,
      hasMore: true,
      recordList: []
    })
    // 重新加载数据
    this.loadRecordList(true)
  },

  /**
   * 清空搜索
   */
  onClearSearch() {
    this.setData({
      searchValue: ''
    })
    // 重新加载数据
    this.searchRecords()
  }
})